package com.itheima.demo06;

public class Foodie extends Thread{
    //吃货的线程


    @Override
    public void run() {
        /*
         * 1.循环
         * 2.同步代码块
         * 3.判断是否结束（结束）
         * 4.判断是否结束（不结束，执行代码）
         *
         */
        while (true){
           synchronized (Desk.lock){
               if (Desk.count == 0){//判断是否还能继续吃面
                   break;
               }else {
                   //判断桌子上是否有面条
                   if (Desk.flag == 0){//没有 就等待厨师做面条
                       try {
                           Desk.lock.wait();
                       } catch (InterruptedException e) {
                           throw new RuntimeException(e);
                       }
                   }else {//有 吃货就吃面条
                       //吃完之后 面条总碗数要 -1
                       Desk.count--;
                       System.out.println("吃货还能再吃" + Desk.count + "碗面条");
                       Desk.flag = 0;
                       //通知厨师做面条
                       Desk.lock.notifyAll();
                   }
               }
           }
        }
    }
}
